// 对axios进行二次封装
import axios from 'axios';

// 引入进度条
import nprogress from 'nprogress';
// 引入进度条样式
import 'nprogress/nprogress.css'

// 1.利用axios对象的方法create创建一个axios实例
// 2.requests就是配置后的axios
const requests = axios.create({
    baseURL:"/mock",
    timeout:5000,
})

// 配置请求拦截器
requests.interceptors.request.use((config)=>{
    // 进度条开始动
    nprogress.start();

    //config是配置对象，有一个header属性
    return config;
})

// 配置响应拦截器
requests.interceptors.response.use((res)=>{
    // 进度条结束
    nprogress.done();

    //成功的回调函数
    return res.data;
},(error)=>{
    //失败的回调函数
    return Promise.reject(new Error("fail"))
})

export default requests;